// DO NOT EDIT: generated from Go program

type #BackgroundContent enum {
type #BackgroundColor {
	color: #Color
};
type #BackgroundSimpleGradient {
	gradient: #SimpleGradient
};
};
type #LayoutContainerConfig enum {
type #BlockContainer {};
type #InlineContainer {};
type #InlineBlockContainer {};
type #FlexContainer {
	flex-direction: String,
	flex-wrap: String,
	justify-content: String,
	align-items: String,
	align-content: String,
	row-gap: #Measure,
	column-gap: #Measure
};
type #GridContainer {
	template-rows: List[#Measure],
	template-columns: List[#Measure],
	row-gap: #Measure,
	column-gap: #Measure
};
};
type #Selector enum {
type #ClassSelector {
	name: String
};
type #PseudoClassSelector {
	negate: Bool,
	name: String
};
};
type #TextWrapConfig enum {
type #SingleLineConfig {};
type #MultiLineConfig {
	hyphens-enabled: Bool
};
};
type #Background {
	content: #BackgroundContent
};
type #BorderStyle {
	border-kind: String
};
type #Box {
	element-kind: String,
	pseudo-state: String,
	class-list: List[String],
	children: List[#Box]
};
type #BoxShadow {
	inset: Bool,
	offset-x: #Measure,
	offset-y: #Measure,
	blur-radius: #Measure,
	spread-radius: #Measure,
	color: #Color
};
type #Color {
	set: Bool,
	name: String
};
type #ColorDef {
	name: String,
	value: #ColorValue
};
type #ColorValue {
	set: Bool,
	h: NormalFloat,
	s: NormalFloat,
	l: NormalFloat,
	a: Maybe[NormalFloat]
};
type #FancyBox {
	border-style: #BorderStyle,
	border-color: #Color,
	box-shadows: List[#BoxShadow],
	background: Maybe[#Background]
};
type #Geometry {
	position: #Position,
	spacing: #Spacing,
	size: #Size,
	overflow: Maybe[#Overflow]
};
type #GridArea {
	start-row: NormalFloat,
	start-column: NormalFloat,
	end-row: NormalFloat,
	end-column: NormalFloat
};
type #LayoutConfig {
	item-config: #LayoutItemConfig,
	container-config: Maybe[#LayoutContainerConfig]
};
type #LayoutItemConfig {
	order: Maybe[NormalFloat],
	flex-grow: Maybe[NormalFloat],
	flex-shrink: Maybe[NormalFloat],
	flex-basis: #Measure,
	align-self: String,
	grid-area: Maybe[#GridArea]
};
type #Measure {
	set: Bool,
	value: NormalFloat,
	unit: String
};
type #Overflow {
	x: String,
	y: String
};
type #Position {
	positioning: String,
	layer-index: Maybe[NormalFloat],
	top: #Measure,
	right: #Measure,
	bottom: #Measure,
	left: #Measure
};
type #Preview {
	name: String,
	root: #Box
};
type #QuadMeasure {
	top: #Measure,
	right: #Measure,
	bottom: #Measure,
	left: #Measure
};
type #Rule {
	selector: #Selector,
	styles: #Styles,
	sub-rules: List[#Rule]
};
type #SimpleGradient {
	to: String,
	start: #Color,
	end: #Color
};
type #Size {
	width: #Measure,
	height: #Measure,
	min-width: #Measure,
	min-height: #Measure,
	max-width: #Measure,
	max-height: #Measure
};
type #Spacing {
	margin: #QuadMeasure,
	padding: #QuadMeasure,
	border-width: #QuadMeasure
};
type #StyleSheet {
	rules: List[#Rule],
	palette: List[#ColorDef],
	previews: List[#Preview]
};
type #Styles {
	geometry: #Geometry,
	fancy-box: #FancyBox,
	layout-config: #LayoutConfig,
	text-config: #TextConfig
};
type #TextConfig {
	font-config: #TextFontConfig,
	wrap-config: Maybe[#TextWrapConfig],
	color: #Color,
	text-decoration: String
};
type #TextFontConfig {
	font-family: List[String],
	font-size: #Measure,
	font-weight: String,
	font-style: String
};


